/**
 * 
 */
package com.suneee.enterprise.dao;

import java.util.List;

import com.suneee.context.page.Page;
import com.suneee.enterprise.bean.EnterpriseSearchBean;
import com.suneee.enterprise.entity.Enterprise;
import com.suneee.orm.Dao;

/**
 * @author liuxuehong
 *
 */
public interface EnterpriseDao extends Dao<Enterprise, String> {

	/**
	 * 判断企业编码是否唯一
	 * 
	 * @param name
	 * @return
	 */
	public boolean existsCode(String name);
	
	/**
	 * 判断企业简称是否唯一
	 * 
	 * @param name
	 * @return
	 */
	public boolean existsShortName(String shortName);
	
	/**
	 * 判断企业名称是否唯一
	 * 
	 * @param name
	 * @return
	 */
	public boolean existsName(String name);
	
	/**
	 * 判断企业邮箱是否唯一
	 * 
	 * @param name
	 * @return
	 */
	public boolean existsMail(String mail);

	/**
	 * 根据条件查询出所对应的信息
	 * @param bean
	 * @return
	 */
	public Page<Enterprise> find(EnterpriseSearchBean bean);

	/**
	 * 获取单条企业信息
	 * @param enterpriseCode
	 * @return
	 */
	public List<Enterprise> get(String enterpriseCode);

	/**
	 * 删除企业信息根据企业编码
	 */
	public void deleteByEnterpriseCode(String enterpriseCode);
	
	/**
	 * 根据企业编码修改企业信息
	 */
	public void updateEnterprise(Enterprise enterprise);

	/**
	 * 禁用该企业
	 * @param enterpriseCode
	 */
	public void disabledEnterprise(String enterpriseCode);

	/**
	 * 激活该企业
	 * @param enterpriseCode
	 */
	public void enabledEnterprise(String enterpriseCode);

	/**
	 * 企业审核(成功,未通过)
	 */
	public void audit(String enterpriseCode, String type, String reviewDesctiption);
	
	/**
	 * 查询当天创建的企业
	 */
	public List<Enterprise> selectEnterpriseQuantity(String enterpriseCode);
	
	/**
	 * 根据企业名称获取企业信息
	 * @param name
	 * @return
	 */
	public Enterprise getByName(String name);
}
